@lambdacurry/medusa-product-reviews
Version:
Product Reviews Plugin for Medusa
80 lines • 7.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DELETE = exports.PUT = exports.POST = exports.fetchReviewWithResponse = exports.fetchReviewResponse = void 0;
const utils_1 = require("@medusajs/framework/utils");
const create_product_review_responses_1 = require("../../../../../workflows/create-product-review-responses");
const update_product_review_responses_1 = require("../../../../../workflows/update-product-review-responses");
const delete_product_review_responses_1 = require("../../../../../workflows/delete-product-review-responses");
const fetchReviewResponse = async (container, filter) => {
const remoteQuery = container.resolve('remoteQuery');
const query = (0, utils_1.remoteQueryObjectFromString)({
entryPoint: 'product_review_response',
fields: ['*'],
variables: {
...filter,
},
});
const queryResult = await remoteQuery(query);
return queryResult[0];
};
exports.fetchReviewResponse = fetchReviewResponse;
const fetchReviewWithResponse = async (container, id) => {
const remoteQuery = container.resolve('remoteQuery');
const query = (0, utils_1.remoteQueryObjectFromString)({
entryPoint: 'product_review',
fields: ['*', 'response.*'],
variables: { id },
});
const queryResult = await remoteQuery(query);
return queryResult[0];
};
exports.fetchReviewWithResponse = fetchReviewWithResponse;
const POST = async (req, res) => {
const product_review_id = req.params.id;
const { result } = await (0, create_product_review_responses_1.createProductReviewResponsesWorkflow)(req.scope).run({
input: {
responses: [
{
product_review_id,
content: req.validatedBody.content,
},
],
},
});
const product_review_response = await (0, exports.fetchReviewResponse)(req.scope, { id: result[0].id });
res.status(200).json({ product_review_response });
};
exports.POST = POST;
const PUT = async (req, res) => {
const product_review_id = req.params.id;
const review = await (0, exports.fetchReviewWithResponse)(req.scope, product_review_id);
if (!review.response)
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, 'Product review response not found');
const { result } = await (0, update_product_review_responses_1.updateProductReviewResponsesWorkflow)(req.scope).run({
input: {
responses: [
{
id: review.response.id,
content: req.validatedBody.content,
},
],
},
});
const product_review_response = await (0, exports.fetchReviewResponse)(req.scope, { id: result[0].id });
res.status(200).json({ product_review_response });
};
exports.PUT = PUT;
const DELETE = async (req, res) => {
const product_review_id = req.params.id;
const reviewResponse = await (0, exports.fetchReviewResponse)(req.scope, { product_review_id });
if (!reviewResponse)
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, 'Product review response not found');
await (0, delete_product_review_responses_1.deleteProductReviewResponsesWorkflow)(req.scope).run({
input: {
ids: [reviewResponse.id],
},
});
res.status(200).json({ message: 'Product review response deleted' });
};
exports.DELETE = DELETE;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Byb2R1Y3QtcmV2aWV3cy9baWRdL3Jlc3BvbnNlL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUFxRjtBQUNyRiw4R0FBZ0g7QUFFaEgsOEdBQWdIO0FBQ2hILDhHQUFnSDtBQUd6RyxNQUFNLG1CQUFtQixHQUFHLEtBQUssRUFDdEMsU0FBMEIsRUFDMUIsTUFBc0QsRUFDdEQsRUFBRTtJQUNGLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFckQsTUFBTSxLQUFLLEdBQUcsSUFBQSxtQ0FBMkIsRUFBQztRQUN4QyxVQUFVLEVBQUUseUJBQXlCO1FBQ3JDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUNiLFNBQVMsRUFBRTtZQUNULEdBQUcsTUFBTTtTQUNWO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxXQUFXLEdBQUcsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFN0MsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUEwQixDQUFDO0FBQ2pELENBQUMsQ0FBQztBQWpCVyxRQUFBLG1CQUFtQix1QkFpQjlCO0FBRUssTUFBTSx1QkFBdUIsR0FBRyxLQUFLLEVBQUUsU0FBMEIsRUFBRSxFQUFVLEVBQUUsRUFBRTtJQUN0RixNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXJELE1BQU0sS0FBSyxHQUFHLElBQUEsbUNBQTJCLEVBQUM7UUFDeEMsVUFBVSxFQUFFLGdCQUFnQjtRQUM1QixNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDO1FBQzNCLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRTtLQUNsQixDQUFDLENBQUM7SUFFSCxNQUFNLFdBQVcsR0FBRyxNQUFNLFdBQVcsQ0FB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